Jetpack Compose Beta 版现已发布!
作者 / 产品经理 Anna-Chiara Bellini、开发者关系工程师 Nick Butcher
腾讯视频链接
https://v.qq.com/x/page/p3232fjra1n.html
Bilibili 视频链接
https://www.bilibili.com/video/BV1Ey4y1E7Em/
Jetpack Compose
https://developer.android.google.cn/jetpack/compose
Beta 版功能一览
我们的团队一直以公开方式开发 Compose,并得到社区的积极参与和反馈。自 2019 年开源以来,我们已发布了 30 个公开版本,解决了 700 余个 Bug 反馈,并采纳了 200 余项外部贡献。我们期待看到您使用 Compose 构建的内容, 并根据您的反馈和功能请求来优化我们的 API,并确定我们工作方向的优先级。自 Alpha 版推出以来,我们添加并改进了多项新功能:
🆕 协程支持 🆕 Talkback 无障碍功能支持: 对其他技术的支持将在稳定版中发布 🆕 易于使用的动画,以及 Alpha 版推出后发布的全新 API 与视图的互操作性 Material UI 组件,全部附带示例代码 懒加载列表: Jetpack Compose 中新增 RecyclerView 基于 DSL 的 Constraint Layout 修饰符 测试 主题和图形,可轻松支持深色/浅色模式 输入和手势 文本和可编辑文本 Window 管理
动画 https://developer.android.google.cn/codelabs/jetpack-compose-animation 互操作性 https://developer.android.google.cn/jetpack/compose/interop Material UI 组件 http://material.io/blog/jetpack-compose-beta Constraint Layout https://developer.android.google.cn/jetpack/compose/layout#contraintlayout
此 Beta 版工具包的开发重点在于确保 API 的完成度;换言之,所有基础 API 均已构建完成,我们能够在此基础上,继续针对 1.0 及更高版本进行构建。在推出 1.0 版之前,我们将致力于保证这些 API 的稳定性,并重点关注应用性能和无障碍功能。
Compose Beta 版已得到最新的 Android Studio Arctic Fox Canary 版支持,后者提供了很多新工具:
🆕 Live Literals (实时文字): 在预览 (Preview) 及设备或模拟器上实时更新文字
🆕 动画预览: 检查并播放动画
🆕 布局检查器中的 Compose 支持
🆕 交互式预览: 检查并与单独的 Composable 交互
🆕 部署预览: 无需完整应用即可在您的设备上部署 Composable
Android Studio Arctic Fox https://developer.android.google.cn/studio/preview 新工具 https://developer.android.google.cn/jetpack/compose/tools 动画预览 https://developer.android.google.cn/jetpack/compose/animation#tooling 布局检查器中的 Compose 支持 https://developer.android.google.cn/studio/preview/features#compose-layout-inspector
兼容现有应用
互操作性文档
https://developer.android.google.cn/jetpack/compose/interop
除了视图互操作性,我们还集成了常用开发库,帮助您将 Compose 添加到现有应用中,而无需重写或重新设计应用。我们提供与下列组件的集成:
Navigation
ViewModel
LiveData / Rx / Flow
Paging
Hilt
集成了常用开发库
https://developer.android.google.cn/jetpack/compose/libraries
MDC Compose 主题适配器
https://github.com/material-components/material-components-android-compose-theme-adapter
Accompanist
https://github.com/chrisbanes/accompanist
Material
https://github.com/material-components/material-components-android-compose-theme-adapter
AppCompat
https://github.com/chrisbanes/accompanist/tree/main/appcompat-theme
图像加载库
https://github.com/chrisbanes/accompanist/#image-loading
Compose 的编程思想
Jetpack Compose 是一款声明性 UI 工具包,也是当前视图系统的范式转变,您可利用此工具包声明 UI 在任何给定应用状态下的预期外观,而不是如何生成 UI。Compose 会负责在应用状态更改时更新您的 UI,这样您无需操作界面就能使其转变为预期状态,省去了繁琐的流程,并且可以避免出错。
Compose 完全使用 Kotlin 构建,可利用其优秀的语言特性提供功能强大、简洁且直观的 API。例如,借助协程,我们可以编写更简单的异步 API,如描述手势、动画或滚动。这样,我们就能更轻松地编写代码,将异步事件 (如触发动画的手势) 与结构化并发提供的取消和清理相结合。
语言特性
https://developer.android.google.cn/jetpack/compose/kotlin
协程
https://developer.android.google.cn/kotlin/coroutines
开始学习 Compose
为了帮助您和团队学习关于 Jetpack Compose 的所有内容,我们更新了学习计划,同时提供了一系列精心规划的视频、Codelab 和重要文档,帮助您入门。我们还发布了全新及更新的文档指南、一些视频演示以及全新的动画 Codelab,帮助您更深入地了解如何使用 Compose 进行构建。我们会提供各种指南来帮助您快速入门,如架构、无障碍功能和测试相关的指导内容,以及针对动画、列表或 Compose 的编程思想的深入探讨。
学习计划 https://developer.android.google.cn/courses/pathways/compose 文档指南 https://developer.android.google.cn/jetpack/compose/documentation 动画 Codelab https://developer.android.google.cn/codelabs/jetpack-compose-animation#0 架构 https://developer.android.google.cn/jetpack/compose/architecture 无障碍功能 https://developer.android.google.cn/jetpack/compose/accessibility 测试 https://developer.android.google.cn/jetpack/compose/testing 动画 https://developer.android.google.cn/jetpack/compose/animation 列表 https://developer.android.google.cn/jetpack/compose/lists Compose 的编程思想 https://developer.android.google.cn/jetpack/compose/mental-model
我们还提供了 8 个官方示例应用,方便您直接开始使用并了解 Compose 的实际应用。这些示例从简单到复杂,每个都会展示不同的 API 和用例。请参阅 readme,了解更多详情。
官方示例应用 https://github.com/android/compose-samples readme https://github.com/android/compose-samples#-samples
#AndroidDevChallenge: 学习 Compose 并赢取奖品
如果您已准备好开始学习 Compose,并想在学习过程中赢取一些奖品,请查看 #AndroidDevChallenge。我们发起了一系列的每周挑战,帮助您对 Jetpack Compose 形成自己的见解,从而顺利完成项目。欢迎您持续关注 "谷歌开发者" 公众账号,及时了解最新一周的挑战内容,积极参与,赢取包括 Google Pixel 5 在内的 1,000 多份奖品吧!第二周挑战正在进行中,点击此处了解详情。
#AndroidDevChallenge https://developer.android.google.cn/dev-challenge
随着 Jetpack Compose Beta 版的推出,针对 1.0 版的稳定 API 和功能均已构建完成。现在时机正好,不妨开始学习 Jetpack Compose,并规划如何在接下来的项目中使用该工具包。我们期待收到您对在应用中采用 Compose 的反馈,您也可以在 Kotlin Slack 的 #compose 频道中参与讨论或在下方留言区和我们分享。
反馈
https://issuetracker.google.com/issues/new?component=612128&template=1253476
Kotlin Slack
http://slack.kotlinlang.org/
推荐阅读